package com.systop.asset.mapper;

import java.util.List;
import com.systop.asset.entity.Department;

/**
 * 组织架构部门信息Mapper接口
 * 
 * @author lsp
 * @date 2025-06-26
 */
public interface DepartmentMapper 
{
    /**
     * 查询组织架构部门信息
     * 
     * @param id 组织架构部门信息主键
     * @return 组织架构部门信息
     */
    public Department selectDepartmentById(Long id);

    /**
     * 查询组织架构部门信息列表
     * 
     * @param department 组织架构部门信息
     * @return 组织架构部门信息集合
     */
    public List<Department> selectDepartmentList(Department department);

    /**
     * 新增组织架构部门信息
     * 
     * @param department 组织架构部门信息
     * @return 结果
     */
    public int insertDepartment(Department department);

    /**
     * 修改组织架构部门信息
     * 
     * @param department 组织架构部门信息
     * @return 结果
     */
    public int updateDepartment(Department department);

    /**
     * 删除组织架构部门信息
     * 
     * @param id 组织架构部门信息主键
     * @return 结果
     */
    public int deleteDepartmentById(Long id);

    /**
     * 批量删除组织架构部门信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDepartmentByIds(Long[] ids);

    /**
     * 根据用户id查询部门
     * @param userId 用户id
     * @return
     */
    Department selectDepartmentByUserId(Long userId);
}
